home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 315_01 / readme.txt < prev    next >
Text File  |  1990-05-14  |  16KB  |  238 lines

  1.  
  2. FTGRAPH.EXE was created to go with my article in _Intelligent Instruments and
  3. Computers_. ("Understanding and Using Fast Fourier Transforms", Thomas Clune,
  4. _II&C_ v.7 n.3, May/June, 1989, p.103 ff). That article explains the concepts
  5. that are behind the FTGRAPH.EXE package, and should be considered part of
  6. the documentation for FTGRAPH's use. This file is intended as an aid to
  7. installation and configuration of FTGRAPH, not as a "user manual" for people
  8. unfamiliar with the FT and its uses.
  9.  
  10. FTGRAPH.EXE is a set of utilities for performing Fourier transforms and
  11. inverse Fourier transforms.  The minimum requirements for program operation
  12. are: an IBM PC, XT, AT, or clone, 256 K or more RAM, MS-DOS or PC-DOS, v.2.0
  13. or later.  The program will use a numerical coprocessor (8087, 80287, or
  14. 80387) if it is present, but does not require it.  The program supports any of
  15. the standard graphics screen adaptors (Hercules, CGA, EGA, and VGA graphics are
  16. supported). Note Well: if you are using a Hercules Graphics adaptor, you must 
  17. install MSHERC.COM for graphics support.  MSHERC is a Microsoft program, but 
  18. is distributed here with Microsoft's permission.  Or, you can output HPGL files 
  19. (HPGL, Hewlett-Packard Graphics Language, is the language used by HP-compatible
  20. plotters.)  Various devices support HPGL.  For example, at the Institute we 
  21. often send HPGL files to a Hewlett-Packard LaserJet, using a utility marketed 
  22. by HP (LaserPlotter, from Insight Development Corp.).  This is an easy way to 
  23. get high-quality graphics out of different devices.  NOTE THAT FTGRAPH DOES NOT
  24. OUTPUT HPGL DATA TO A PLOTTER.  Rather, it creates a file of HPGL data that
  25. can then be copied to the graphics output device using either a utility like
  26. LaserPlotter or, if you are outputting to an HP-compatible plotter, by
  27. using the DOS COPY command.  For example, if the HP plotter is attached
  28. to COM1: and you have set the MODE command to be compatible with the plotter
  29. settings (see DOS manual), just COPY yourfile.plt COM1 at the DOS prompt.
  30.  
  31. In order for FTGRAPH to work properly, you must be operating under ANSI.SYS.
  32. This is a terminal control program that comes with DOS.  To install ANSI.SYS,
  33. you must have a line DEVICE=ANSI.SYS in your CONFIG.SYS file, and the ANSI.SYS
  34. program must be in the root directory of your boot disk.  See the DOS manual
  35. for details.
  36.  
  37. The file FTGRAPH.CNF is a configuration file that must be located in the same
  38. directory as FTGRAPH.EXE.  There are six arguments in the file.  They are:
  39. 1. The first number is a floating-point value that specifies the smallest
  40. amplitude that the program will consider as significant when you use polar
  41. coordinates (amplitude/phase) for your transform.  This value
  42. is used to decide whether the phase argument is significant, or just noise.
  43. An FFT will calculate phase even if there is no signal at the given frequency,
  44. so this value is used to decide whether phase should be set to 0 because there
  45. really isn't any signal there.  It does not apply to rectangular format data
  46. transforms (real/imaginary).
  47. 2. The second number is an integer used as a flag to tell the program whether
  48. you want to use the entire transform (both positive and negative frequencies)
  49. or just the positive frequencies.  Often, if you are using real data, you
  50. will limit your frequency display to positive values.  However, there are
  51. times that positive/negative are desirable.  For example, if you are going to 
  52. process data in the frequency domain and re-transform it back to the time 
  53. domain, you must use both positive and negative frequencies or you will lose
  54. half the data points during transformation. NOTE WELL: to lessen this problem, 
  55. I transform data files for filtering as positive/negative, even if you select 
  56. positive-only display. Thus, the re-transformed time domain data will contain 
  57. the full number of values. 
  58. 3. The third value is an integer flag that specifies whether you want to use
  59. rectangular coordinates (real/imaginary) or polar (amplitude/phase) coordinates
  60. for your frequency domain data.
  61. 4. The fourth value is the units for filter rolloff.  2.0= dB/octave, 10.0=
  62. dB/decade.
  63. 5. The fifth argument is the number of decimals (INTEGER ARGUMENT) that you
  64. want to use in your floating-point printer dumps of data files (either [seconds,
  65. magnitude] or [frequency, magnitude] files).  This number is for printer
  66. display ONLY, and does not affect the precision of calculation in the program.
  67. 6. The last value is an integer flag that specifies whether you want to be
  68. able to select from the menu using only keyboard inputs or both mouse
  69. (Microsoft compatible only) and keyboard.  NOTE WELL: if you use the mouse,
  70. the RIGHT-HAND button is used to enter your selection.  Moving the mouse
  71. will move the highlight to the choice you want to make.  WARNING: If you set
  72. this variable to 1 (enable mouse operation) and a valid mouse is not installed
  73. on your computer, the program will hang, and may display a FLOATING POINT 
  74. COPROCESSOR UNDERFLOW error message.  Always disable the mouse option in the
  75. configuration file if you do not have a Microsoft(-like) mouse on your system.
  76. Remember that you must have a line like DEVICE=MOUSE.SYS in your CONFIG.SYS
  77. file in order to install the mouse device driver.
  78.  
  79. All these arguments are explained in the FTGRAPH.CNF file itself.  You may
  80. edit the file with a common word processor to customize the package to your
  81. taste.  WARNING: Do not capriciously move from positive to positive/negative,
  82. or polar to rectangular coords.  The program does not keep a record of which
  83. format was used with which data file.  The current settings ARE ASSUMED TO
  84. BE THE CORRECT ONES for the data file under analysis.  If a file was collected
  85. using positive only settings, and transformed under the positive/negative
  86. format, for example, it will assume that the file contains both positive and
  87. negative data.  Similarly, there is nothing in the file that identifies the
  88. data as time-domain or frequency domain, etc.  Establish a format that
  89. is right for your applications, and stick with it.  Since the right format
  90. for display is often different from the right format for data processing, as
  91. explained above, FTGRAPH allows you to change the default settings within
  92. the program by selecting menu item B.  NOTE WELL: resetting defaults using
  93. menu item B applies only as long as the program is running.  When you load
  94. FTGRAPH, it reads its initial conditions from FTGRAPH.CNF, so the only way
  95. to make changes in configuration permanent is by editing that file.
  96.  
  97. The data files that are read by this program must have the following format:
  98. The files are plain ASCII text files,and the first line of the file contains
  99. three numbers.  First is an integer specifying how many data points are in the
  100. file.  The program expects a power of 2 size data set ONLY.  If the number of
  101. points in the data set is not a power of 2, the program will automatically
  102. zero-fill the working set (not the disk data) to the next highest power of two.
  103. The second and third number are floating point numbers used to scale graphs if
  104. they will be something other than full-scale. The second number is the minimum
  105. y value of the graph scale, and the third number is the maximum y value for
  106. the graph. Note that you can set multiple graphs to the same scale by making
  107. these numbers the same in the various data sets. This lets you compare 
  108. magnitudes across graphs. Also, if you wish to expand the scale of a graph,
  109. this feature will let you clip the graph at min and max values of your choice.
  110. Alternatively, you may set both the min and max values to the same value. This
  111. serves as a flag to the program to autoscale the graph to fill the screen. As
  112. a convention, I suggest using 0 for the min and max if you want to autoscale.
  113. By the way, when FTGRAPH creates a data file the values that it uses for the
  114. minimum and maximum are the actual minimum and maximum of the data set.
  115. All numbers in the data file are separated by white space only (space, tab, or
  116. carriage return).  That is, there are no commas or semicolons allowed.  Aft